A solid state drive (SSD) is a data storage device that uses solid state memory to store persistent data. Said solid state memory may be comprised of NAND non-volatile flash memory units. SSDs allow for versatile and compact design for their respective host systems and perform better than hard disk drives in terms of seek times and latency due to their lack of moving parts.
The “storage fidelity” of an SSD is defined as the reliability of the data retention of its NAND memory units. SSD storage fidelity issues, in particular the presence of bit errors during read operations, tend to increase with use due to accumulated wear on the silicon from repeated program/erase cycling.
As a result, SSDs typically employ error detection and error checking code (ECC) designed to fix these bit errors and guarantee the data integrity of NAND flash devices. Such ECC algorithms are provisioned to be robust enough to handle error rates throughout the life of the SSD. Thus, because these ECC algorithms must be robust enough for “end of life” storage fidelity, they are “over-provisioned” for the “early life” storage fidelity of the SSD—i.e., when the device experiences a much smaller error rate.
Descriptions of certain details and implementations follow, including a description of the figures, which may depict some or all of the embodiments described below, as well as discussing other potential embodiments or implementations of the inventive concepts presented herein. An overview of embodiments of the invention is provided below, followed by a more detailed description with reference to the drawings.